- Print
- DarkLight
Performs a partial update on the article. Only fields included in the request body are modified; omitted fields remain unchanged. When auto_fork is true and the target version is published, a new draft version is automatically created and the update is applied to the draft. If auto_fork is false (default) and you attempt to update content on a published version, a 422 error is returned.
All V3 endpoints require a Bearer token. Generate tokens in the Document360 portal under Settings > API Tokens. Tokens are project-scoped, require the customerApi scope, and do not expire by default. Tokens can be revoked at any time from the portal. Include the token in every request: Authorization: Bearer <your-token>. Alternatively, use the Authorize button below to sign in via OAuth2 Authorization Code flow with PKCE.
The unique identifier of the project. Retrieve project IDs from GET /v3/projects.
The unique identifier of the article. Retrieve article IDs from GET /v3/projects/{project_id}/articles.
ISO 639-1 language code (e.g., en, fr). Defaults to the project's primary language if omitted.
Updated article data.
Updates the article title and content. When auto_fork is true and the target version is published, a new draft version is created automatically.
{
"title": "Getting Started with Single Sign-On (Updated)",
"content": "# Introduction\nThis updated guide walks you through configuring SSO for your organization.",
"category_id": null,
"hidden": null,
"version_number": null,
"translation_option": null,
"source": null,
"order": null,
"auto_fork": true
}Moves the article to a new category without changing its content.
{
"title": null,
"content": null,
"category_id": "f4a5b6c7-d8e9-0a1b-2c3d-4e5f6a7b8c9d",
"hidden": null,
"version_number": null,
"translation_option": null,
"source": null,
"order": 3,
"auto_fork": null
}Targets a specific draft version for the update. Use version_number to specify which version to update.
{
"title": "Getting Started with SSO - v3 Draft",
"content": "# Introduction\nDraft version with additional sections.",
"category_id": null,
"hidden": null,
"version_number": 3,
"translation_option": null,
"source": null,
"order": null,
"auto_fork": null
}Request to update an existing article.
The updated title of the article.
The updated body content of the article.
The identifier of the category to move the article to. Retrieve category IDs from GET /v3/projects/{projectId}/categories.
Whether the article should be hidden from readers.
The version number to apply the update to. Defaults to the latest version if omitted. When auto_fork is true and this version is published, the update is applied to the newly created draft version, not the original published version.
The updated translation status of the article. Possible values: 0 = None, 1 = NeedTranslation, 2 = Translated, 3 = InProgress.
The source of the update. Common values: API, import, portal. When omitted, defaults to API for Customer API requests.
The updated display order within the category.
When true and the target version is published, a new draft version is automatically forked and the update (including content and title) is applied to the new draft. When the target version is already a draft, no fork occurs and the update is applied directly. When false (default), updating content on a published version returns a 422 error.
Article updated successfully.
The article has been updated. If auto_fork was true and the version was published, the response shows the newly created draft version.
{
"data": {
"id": "9a3b4c5d-6e7f-8a9b-0c1d-2e3f4a5b6c7d",
"title": "Getting Started with Single Sign-On (Updated)",
"content": "# Introduction\nThis updated guide walks you through configuring SSO for your organization.",
"html_content": null,
"category_id": "f4a5b6c7-d8e9-0a1b-2c3d-4e5f6a7b8c9d",
"project_version_id": "1c2d3e4f-5a6b-7c8d-9e0f-a1b2c3d4e5f6",
"version_number": 3,
"public_version": 2,
"latest_version": 3,
"enable_rtl": false,
"hidden": false,
"status": 0,
"order": 0,
"created_by": "a1b2c3d4-e5f6-7a8b-9c0d-1e2f3a4b5c6d",
"authors": [],
"created_at": "2025-06-01T09:00:00Z",
"modified_at": "2025-08-16T10:00:00Z",
"modified_by": "a1b2c3d4-e5f6-7a8b-9c0d-1e2f3a4b5c6d",
"slug": "getting-started-with-single-sign-on",
"is_fallback_content": false,
"description": null,
"category_type": null,
"content_type": 0,
"is_shared_article": false,
"translation_option": "none",
"url": null,
"current_workflow_status_id": null,
"lang_code": "en",
"available_languages": null,
"settings": null
},
"success": true,
"request_id": "req_abc123def456",
"errors": null,
"warnings": null
}Generic API response wrapper containing typed data.
Response data payload.
The unique identifier of the article.
The title of the article.
The raw content of the article in its source format.
The rendered HTML content of the article.
The identifier of the category this article belongs to. Use this value with GET /v3/projects/{projectId}/categories/{categoryId} to retrieve category details.
The project version this article belongs to. Corresponds to a version from GET /v3/projects/{projectId}/project-versions.
The current version number of the article.
The latest published version number, or null if the article has never been published.
The latest version number including drafts.
Whether right-to-left text direction is enabled.
Whether the article is hidden from readers.
The publication status of the article. Possible values: 0 = Draft, 3 = Published.
The display order of the article within its category.
The user ID of the original article creator. For full author details including name and avatar, see the authors array. Corresponds to a user from GET /v3/projects/{projectId}/users.
The list of contributors to this article, including the original creator and any subsequent editors.
Author information for an article.
The unique identifier of the author.
The first name of the author.
The last name of the author.
The URL of the author's profile image.
The date and time the article was created.
The date and time the article was last modified.
The user ID of who last modified this article. Corresponds to a user from GET /v3/projects/{projectId}/users.
The URL slug for the article.
Whether the content is a fallback from the default language.
A brief description of the article.
The type of category this article belongs to. Possible values: 0 = Folder, 1 = Page, 2 = Index.
The editor content type of the article. Possible values: 0 = Markdown, 1 = Wysiwyg (rich text), 2 = Block.
Whether the article is shared across multiple projects.
The translation status of the article. Possible values: 0 = None, 1 = NeedTranslation, 2 = Translated, 3 = InProgress.
The full URL of the article.
The current workflow status identifier. Retrieve available statuses from GET /v3/projects/{projectId}/workflow-statuses.
The language code of this article version.
The list of languages this article is available in.
Represents a language in which an article is available.
The language code (e.g., "en", "fr").
The URL of the article in this language.
The translation status for this language. Possible values: 0 = None, 1 = NeedTranslation, 2 = Translated, 3 = InProgress.
A subset of article settings (SEO title, description, external search exclusion). For full settings including tags, related articles, and display options, use GET /v3/projects/{projectId}/articles/{articleId}/settings.
The custom SEO title for search engines.
The meta description for search engines.
Whether the article is excluded from external search engine indexing.
Whether the API request was successful.
Unique identifier for request tracing and correlation.
List of errors if the request failed.
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
List of non-fatal warnings from the request.
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
The request body is malformed or contains invalid JSON.
RFC 7807 Problem Details response for V3 API errors. Content-Type: application/problem+json
URI reference identifying the error type (links to documentation).
Short human-readable summary of the error type.
HTTP status code.
Human-readable explanation specific to this occurrence.
URI of the request that generated the error.
Request trace identifier for correlation.
Structured list of specific errors (extension field).
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
Non-fatal warnings (extension field).
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
Authentication token is missing or invalid.
Authentication token is missing or invalid.
{
"type": "https://developer.document360.com/errors/unauthorized",
"title": "Unauthorized.",
"status": 401,
"detail": "The authentication token is missing or has expired.",
"instance": null,
"trace_id": "req_abc123def456",
"errors": [
{
"code": "UNAUTHORIZED",
"message": "Bearer token is missing or invalid.",
"field": null,
"details": null
}
],
"warnings": null
}RFC 7807 Problem Details response for V3 API errors. Content-Type: application/problem+json
URI reference identifying the error type (links to documentation).
Short human-readable summary of the error type.
HTTP status code.
Human-readable explanation specific to this occurrence.
URI of the request that generated the error.
Request trace identifier for correlation.
Structured list of specific errors (extension field).
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
Non-fatal warnings (extension field).
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
Article not found.
The requested resource was not found.
{
"type": "https://developer.document360.com/errors/not-found",
"title": "Not Found.",
"status": 404,
"detail": "The requested resource does not exist or has been deleted.",
"instance": null,
"trace_id": "req_abc123def456",
"errors": [
{
"code": "RESOURCE_NOT_FOUND",
"message": "The requested resource was not found.",
"field": null,
"details": null
}
],
"warnings": null
}RFC 7807 Problem Details response for V3 API errors. Content-Type: application/problem+json
URI reference identifying the error type (links to documentation).
Short human-readable summary of the error type.
HTTP status code.
Human-readable explanation specific to this occurrence.
URI of the request that generated the error.
Request trace identifier for correlation.
Structured list of specific errors (extension field).
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
Non-fatal warnings (extension field).
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
Validation failed.
The request body contains invalid data.
{
"type": "https://developer.document360.com/errors/validation-error",
"title": "Unprocessable Entity.",
"status": 422,
"detail": "One or more fields failed validation.",
"instance": null,
"trace_id": "req_abc123def456",
"errors": [
{
"code": "VALIDATION_ERROR",
"message": "This field is required.",
"field": "title",
"details": null
}
],
"warnings": null
}RFC 7807 Problem Details response for V3 API errors. Content-Type: application/problem+json
URI reference identifying the error type (links to documentation).
Short human-readable summary of the error type.
HTTP status code.
Human-readable explanation specific to this occurrence.
URI of the request that generated the error.
Request trace identifier for correlation.
Structured list of specific errors (extension field).
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
Non-fatal warnings (extension field).
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
Rate limit exceeded. Retry after the duration specified in the Retry-After header.
Rate limit exceeded.
{
"type": "https://developer.document360.com/errors/too-many-requests",
"title": "Too Many Requests.",
"status": 429,
"detail": "Rate limit exceeded. Retry after the duration specified in the Retry-After header.",
"instance": null,
"trace_id": "req_abc123def456",
"errors": [
{
"code": "TOO_MANY_REQUESTS",
"message": "Rate limit exceeded. Retry after the duration specified in the Retry-After header.",
"field": null,
"details": null
}
],
"warnings": null
}RFC 7807 Problem Details response for V3 API errors. Content-Type: application/problem+json
URI reference identifying the error type (links to documentation).
Short human-readable summary of the error type.
HTTP status code.
Human-readable explanation specific to this occurrence.
URI of the request that generated the error.
Request trace identifier for correlation.
Structured list of specific errors (extension field).
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
Non-fatal warnings (extension field).
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
An unexpected server error occurred.
Unexpected server error.
{
"type": "https://developer.document360.com/errors/internal-error",
"title": "Internal Server Error.",
"status": 500,
"detail": "An unexpected error occurred. Please try again or contact support.",
"instance": null,
"trace_id": "req_abc123def456",
"errors": [
{
"code": "INTERNAL_SERVER_ERROR",
"message": "An unexpected error occurred.",
"field": null,
"details": null
}
],
"warnings": null
}RFC 7807 Problem Details response for V3 API errors. Content-Type: application/problem+json
URI reference identifying the error type (links to documentation).
Short human-readable summary of the error type.
HTTP status code.
Human-readable explanation specific to this occurrence.
URI of the request that generated the error.
Request trace identifier for correlation.
Structured list of specific errors (extension field).
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
Non-fatal warnings (extension field).
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
